#include <stdio.h>
#include <stdlib.h>

int singleNumber(int* nums, int numsSize) 
{
    //巧用异或符号规则^，x^x = 0，由此所有数字一起异或，剩下的就是只出现一次的
    int res = 0;
    for(int i = 0; i < numsSize; i++)
    {
        res = res ^ nums[i]; 
    }
    return res;




    // int *a = malloc(sizeof(int)*128);
    // for(int i = 0; i < numsSize; i++)
    // {
    //     a[nums[i]]++;
    // }

    // for(int i = 0; i < numsSize; i++)
    // {
    //     if(a[nums[i]] == 2)
    //     continue;
    //     else 
    //     return nums[i];
    // }
    // return 0;
}

int main()
{
    int nums[] = {2,2,1};
    printf("%d\n",singleNumber(nums,sizeof(nums)/4));
}